From 29b8cfc95250f31570f39a0d14688a8ba21c505d Mon Sep 17 00:00:00 2001 From: Daniel Boles Date: Sat, 14 Oct 2017 18:45:20 +0100 Subject: [PATCH] Range: Fix inverted horizontal scroll wheel events MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Bug 737175 aimed to ensure that scrolling up on a horizontal range would result in its value increasing, as that’s what users intuitively expect. However, its commit 416c370da1d2eff2458e4a0c5b8e504cd8061559 meant that, if the event gives scroll deltas, we inverted our delta unconditionally. So it broke horizontal scrolling: scrolling left moved the slider right… We must only invert if using dy as delta. dx already has the right sign, so inverting it was wrong. https://bugzilla.gnome.org/show_bug.cgi?id=788905 --- gtk/gtkrange.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index 8539674243..b9ddad53d4 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -2313,7 +2313,7 @@ gtk_range_scroll_controller_scroll (GtkEventControllerScroll *scroll, #endif if (gtk_orientable_get_orientation (GTK_ORIENTABLE (range)) == GTK_ORIENTATION_HORIZONTAL) - delta = - (dx ? dx : dy) * scroll_unit; + delta = (dx ? dx : -dy) * scroll_unit; else delta = dy * scroll_unit; -- 2.30.2